草庐IT

class - NodeJS 模块与类

全部标签

javascript - 如何用 Jest 模拟第三方模块

我的测试目标中有当前导入:importsharpfrom'sharp'并在我的同一个测试目标中使用它:returnsharp(local_read_file).raw().toBuffer().then(outputBuffer=>{在我的测试中,我正在执行以下操作来模拟sharp函数:jest.mock('sharp',()=>{raw:jest.fn()toBuffer:jest.fn()then:jest.fn()})但我得到:return(0,_sharp2.default)(local_read_file).^TypeError:(0,_sharp2.default)isno

node.js - 为浏览器和 nodejs 环境提供简单实用程序的 JS 库?

我正在寻找一个javascript库,它试图在浏览器环境和nodejs中提供相同的简单实用程序(迭代、映射,也许是控制流),以便可以更轻松地编写代码跨服务器和客户端重新使用。我知道您可以破解任何JS库(YUI、jQuery等)的一部分并让它们在两种环境中工作,我只是想知道它是否已经完成或标准化。我见过的最接近的是:https://github.com/kof/sharedjs但它不完整并且有一些奇怪的东西。我想知道在我fork和hack之前是否有更完善的东西。 最佳答案 underscore库的构建是为了向jquery添加更多函数式

javascript - Uncaught ReferenceError : Class is not defined?

我很想知道为什么会出现此错误?我已经从网站beezid.com(carousel.js)文件中复制了它,并且我正在尝试将与他们相同的幻灯片放到我的网站上以更新它。如您所见我对此有疑问??他们的网站没有出现这个错误?carousel.js:26UncaughtReferenceError:ClassisnotdefinedCarousel=Class.create(Abstract,{initialize:function(scroller,slides,controls,options){this.scrolling=false;this.scroller=$(scroller);th

javascript - 为什么在 JS 中用匿名函数包装每个原型(prototype) "class"对象?

查看thisJScode通过DavidFowler他用一个匿名的自执行方法包装每个“类”,他在其中发送jQuery和window。我知道这是一种确保$和window实际上是您期望的全局jQuery和winndow变量的方法。但这不是有点过度保护了吗?您是否应该保护自己免受其他人更改$和window变量的影响-实际上是否有代码可以做到这一点,如果有,为什么?另外,像这样包装所有东西还有其他优势吗? 最佳答案 如果我没记错的话,除了jQuery之外,还有其他一些库使用$. 关于javascr

javascript - vars 存储在 Nodejs 中的什么位置?

这个问题在这里已经有了答案:Inwhatscopearemodulevariablesstoredinnode.js?(4个回答)3年前关闭。在任何Web浏览器中执行以下脚本将导致'wee'被发送到控制台。在Node中,它发送{}。vard='wee';console.log(this.d);我意识到在这种情况下,Nodethis指的是导出对象。我确实知道global变量,这不是我想要访问的。此外,上面的脚本也没有在全局对象上设置d。它到底去哪儿了?我可以在上面的脚本中通过console.log(d);显式访问它,但它似乎毫无理由地隐藏在一些非标准空间中。我还意识到删除var将在d对象

javascript - 单元测试 AngularJS 模块 Controller

我正在查看TODOMVCAngularJS示例,我看到该应用程序被定义为一个模块。vartodomvc=angular.module('todomvc',[]);在Controller内部,我看到它们被定义为:todomvc.controller('TodoCtrl',functionTodoCtrl($scope,$location,todoStorage,filterFilter){//...});我的问题涉及单元测试...如何为该类编写单元测试?我试过这样的事情:describe('TodoCtrl',function(){varcontroller;beforeEach(fun

javascript - 如何使用nodejs监听多个ips?

varhttp=require('http');http.createServer(function(req,res){res.writeHead(200,{'Content-Type':'text/plain'});res.end('HelloWorld\n');}).listen(80,'127.0.0.1');console.log('Serverrunningathttp://127.0.0.1:1337/');那么,如果我想收听192.168.1.100,就这样吗?varhttp=require('http');http.createServer(function(req,r

javascript - 在 nodejs 服务器端运行传单

我尝试在nodejs服务器端运行leaflet但没有成功。我按照下载部分中的描述使用jake构建它,但是当我在服务器文件上需要传单时,如果我启动我的Node服务器,它会崩溃并出现此错误:ReferenceError:windowisnotdefined谢谢Node,我知道了。但是有没有办法在服务器端使用传单?我需要它在L.geojson(https://github.com/mapbox/leaflet-pip)上进行一些操作,如果没有“L”引用,我无法做到这一点。我将不胜感激任何帮助。谢谢。 最佳答案 可以通过模拟浏览器在node

javascript - api调用Nodejs之间的延迟

我正在使用Nodejs来实现网络应用程序。我有一个对象列表,我想为每个对象调用一个第三方API。问题是api有速率限制,所以根据我的计算,我必须每1.5秒调用一次api。我尝试使用setTimeout方法,但它在for循环中不起作用。我还研究了Cron模块,但它对我没有帮助,因为我只想为每个对象调用一次api。谁能帮我这个。这是我在服务器端的代码:for(varobjinlist){setTimeout(function(){apicall();},1500);} 最佳答案 for循环或任何循环的问题在于它们通常很快。事实上,循环遍

javascript - 如何知道 npm `unzip` 模块何时完成解压缩文件?

我正在使用npm的unzip模块来提取zip存档的内容。我需要知道它何时完成提取以及文件已完全写入磁盘。我的代码:fs.createReadStream('master.zip').pipe(unzip.Extract({path:'gitdownloads/repo'}));我尝试过的:我的第一个想法是我可以接入流并监听完成事件,但是unzip只接受输入:它不会返回另一个流。我还查看了unzip模块是否有“完成”回调。运气不好。 最佳答案 来自githubREADMEExtractemitsthe'close'eventoncet